﻿// Period of an Infinite Binary Expansion POJ - 3358.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://vjudge.net/problem/POJ-3358#author=GPT_zh

设 {x} = 0.a1a2a3... 为有理数 z 的小数部分的二进制表示。假设 {x} 是周期的，那么我们可以写成

{x} = 0.a1a2...ar(ar+1ar+2...ar+s)w

其中 r 和 s 是整数，且 r ≥ 0，s > 0。此外，(ar+1ar+2...ar+s)w 表示 {x} 的一个非终止重复的二进制子序列。

子序列 x1 = a1a2 ... ar 被称为 {x} 的 前周期，x2 = ar+1ar+2 ... ar+s 被称为 {x} 的 周期。

假设 |x1| 和 |x2| 被选择为最小值，则 x1 被称为 最小前周期，x2 被称为 最小周期。

例如，x = 1/10 = 0.0001100110011(00110011)w，其中 0001100110011 是前周期，00110011 是周期。

然而，我们也可以将 1/10 写成 1/10 = 0.0(0011)w，其中 0 是最小前周期，0011 是最小周期。

1/10 的最小周期从二进制点右侧第2位开始，最小周期的长度为4。

编写一个程序，找到前周期也是小于1的正有理数的最小值的位置和最小周期的长度。

输入
每行为一个测试用例，表示一个有理数 p/q，其中 p 和 q 为整数，p ≥ 0，q > 0。

输出
每行对应一个测试用例，表示一对数字，第一个数字是最小周期的第一个位的位置，第二个数字是有理数的最小周期的长度。

示例
1/10
1/5
101/120
121/1472


Case #1: 2,4
Case #2: 1,4
Case #3: 4,4
Case #4: 7,11
*/

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 